/*
 * @Description:
 * @Author: dh
 * @Date: 2021-09-28 14:19:19
 * @LastEditors: dh
 * @LastEditTime: 2025-09-15 14:33:49
 */

self.addEventListener('install', event => {
	console.log('正在注册')
})

self.addEventListener('activate', event => {
	console.log('正在激活')
})

self.addEventListener('message', event => {
	console.log('sw收到消息', event.data)

	// 方法一 (不过这种方法只能向消息的来源页面发送信息。)
	event.source.postMessage('this message is from sw.js, to page')

	// 方法二 ( this.clients 来获取其他的页面,这里不测试,也没实验成功 )
	this.clients.matchAll().then(client => {
	    client[0].postMessage('this message is from sw.js, to page');
	})

	// 方法三 （使用这种方式能够使得通道两端之间可以相互通信，而不是只能向消息源发送信息，这里不测试）
	// event.ports[0].postMessage('this message is from sw.js, to page');
})
